home *** CD-ROM | disk | FTP | other *** search
/ Complete Internet Archive / Complete Internet Archive.iso / Banners / redirect.txt < prev   
Text File  |  1997-01-26  |  2KB  |  59 lines

  1.  
  2.  
  3. /* For more information, please visit http://www.blackcat.net/redir      */
  4. /* or email scripts@blackcat.net for support.  All code, comments, and   */
  5. /* binary programs relating to Redirect are copyright 1997 Black Cat     */
  6. /* Communications.  You may modify the it as long as this comment block  */
  7. /* remains intact.  Redirect is a trademark of Black Cat Communications  */
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <string.h>
  12. #include <time.h>
  13.  
  14. main(int argc, char *argv[])
  15. {
  16.     /* Pointer for fopen, used to reference the file */
  17.     FILE *fp;
  18.     /* The location variable used at the end */
  19.     /* Variables that log REMOTE_ADDR, HTTP_REFERER, and */
  20.     /* HTTP_USER_AGENT, respectively */
  21.     char *user_ip;
  22.     char *refer_url;
  23.     char *browser;
  24.     /* Variables used to store the time */
  25.     time_t now;
  26.     char *c;
  27.     struct tm *current_time;
  28.  
  29.     /* Gets the time from and saves it */
  30.     /* Then convert it to readable format */
  31.     time(&now);
  32.     current_time = localtime(&now);
  33.     c = asctime(current_time);
  34.  
  35.     /* Snag the environment variables and store them in the */
  36.     /* respective variables */
  37.     user_ip = getenv("REMOTE_ADDR");
  38.     refer_url = getenv("HTTP_REFERER");
  39.     browser =  getenv("HTTP_USER_AGENT");
  40.  
  41.     /* Opens a text mode file for reading and appending at the start */
  42.     fp = fopen( "redirlog", "a" );
  43.  
  44.     if (fp == NULL)
  45.     {
  46.         printf("Content-type: text/html\n\n");
  47.         printf("<html><head><title>Script Error!</title></head><body bgcolor=#FFFFFF text=#000000><h3>Attempting to open the log file with read/write options failed.  This is might mean that the log file hasn't been created at all or it doesn't have the correct permissions.  It should be chmod 666, which gives all users read/write access.  The CGI program itself should be chmod 755.  For more infomation, please visit http://www.blackcat.net/redir or email scripts@blackcat.net.<br><br></h3></body></html>");
  48.     }
  49.  
  50.     /* Write the incremented counter value to the file */
  51.     fprintf(fp, "%s%s\n%s\n%s\n%s\n\n",c, argv[1], user_ip, browser, refer_url);
  52.  
  53.     /* Close the file */
  54.     fclose(fp);
  55.  
  56.     /* Redirects the user to the specified URL */
  57.     printf("Location:%s\n\n",argv[1]);
  58.  
  59. }